package com.quanxiaoha.weblog.common.utils;

import com.quanxiaoha.weblog.common.service.IScheduleRewardService;
import com.quanxiaoha.weblog.common.service.ScheduleRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component  //@Component用于实例化类，将其类托管给 Spring 容器
public class TaskJobUtil {

    @Autowired
    IScheduleRewardService service;

    @Autowired
    ScheduleRecordService scheduleRecordService;
 
//    /**
//     * cron表达式：表示早上6点
//     */
//    @Scheduled(cron = "0 0 6 * * ?")
//    public void start() {
//        service.start();
//    }

    /**
     * cron表达式：表示每2秒 执行任务
     */
    @Scheduled(cron = "0 0 0 * * ?")
    public void task() {
        service.init();
    }

    /**
     * cron表达式：表示每2秒 执行任务
     * 12点统计：睡眠
     */
    @Scheduled(cron = "0 0 12 * * ?")
    public void calculateSleep() {
        scheduleRecordService.calculateTask(3);
    }

    /**
     * cron表达式：表示每2秒 执行任务
     * 22点统计：学习、浪费
     */
    @Scheduled(cron = "0 0 22 * * ?")
    public void calculateTask() {
        scheduleRecordService.calculateTask(1);
        scheduleRecordService.calculateTask(2);
    }

}